import { Tool } from '../../../Tool';

/**
 * 平移工具
 */
export class PanTool extends Tool {
	constructor(viewer) {
		super(arguments);
		this.viewer = viewer;
	}

	start() {
		// 如果为真，则允许用户旋转相机。如果为假，相机将锁定到当前标题。此标志仅适用于2D和3D。
		// this.viewer.scene.screenSpaceCameraController.enableRotate = false;
		// 如果为true，则允许用户平移地图。如果为假，相机将保持锁定在当前位置。此标志仅适用于2D和Columbus视图模式。
		this.viewer.scene.screenSpaceCameraController.enableTranslate = true;
		// 如果为真，允许用户放大和缩小。如果为假，相机将锁定到距离椭圆体的当前距离
		this.viewer.scene.screenSpaceCameraController.enableZoom = false;
		// 如果为真，则允许用户倾斜相机。如果为假，相机将锁定到当前标题。这个标志只适用于3D和哥伦布视图。
		this.viewer.scene.screenSpaceCameraController.enableTilt = false;
	}

	cancel() {
		this.viewer.scene.screenSpaceCameraController.enableRotate = true;
		// 如果为true，则允许用户平移地图。如果为假，相机将保持锁定在当前位置。此标志仅适用于2D和Columbus视图模式。
		this.viewer.scene.screenSpaceCameraController.enableTranslate = true;
		// 如果为真，允许用户放大和缩小。如果为假，相机将锁定到距离椭圆体的当前距离
		this.viewer.scene.screenSpaceCameraController.enableZoom = true;
		// 如果为真，则允许用户倾斜相机。如果为假，相机将锁定到当前标题。这个标志只适用于3D和哥伦布视图。
		this.viewer.scene.screenSpaceCameraController.enableTilt = true;
	}
}

PanTool.toolId = 'PanTool';
